#ifndef CMD_H_
#define CMD_H_

#define CMD_CODE_HEAD '$'
#define CMD_CODE_TAIL '!'
#define CMD_RET_CODE_HEAD '#'
#define CMD_RET_CODE_TAIL '!'

#define FIRST_CMD_CODE_LENGTH 10
#define SECOND_CMD_CODE_LENGTH 7
#define CMD_RET_VALID_LENGTH 4

#define FIRST_CMD_RET_STR "#R******N!"

typedef enum cmd_exe_stat
{
    exe_ok,
    exe_err0,
    exe_err1,
    exe_err2,
    exe_err3,
} cmd_exe_stat_t;

enum CMD
{
    s_acq_begin,
    s_acq_stop,
    s_cal_begin,
    s_cal_stop,
    g_afe_fw,
    s_pwr_off,
    s_pga_gain,
    g_pga_gain,
    s_chx_mode,
    s_spdx_mode,
    g_chx_mode,
    s_afe_samp,
    g_afe_samp,
    g_afe_stat,
};

/*
typedef struct spi_cmds_list_s
{
    struct set
    {
    };
    struct get
    {
    };
} spi_cmd_list_t;
*/

#endif
